package com.techsoul.module.order.pojo.vo;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.techsoul.module.order.pojo.param.PurchaseOrderItemSaveParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

import java.util.Date;
import java.util.List;

/**
 * 采购订单 Vo
 * 
 * @author liuen
 * @date 2022-08-10
 */
@Data
@Accessors(chain = true)
public class PurchaseOrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;
    private List<PurchaseOrderItemSaveParam> itemList;
    private List<PurchaseOrderItemVo> itemVoList;
    @ApiModelProperty("装货")
    private String pickUpWarehouseNo;
    @ApiModelProperty("卸货")
    private String dropOffWarehouseNo;
    @ApiModelProperty("中转")
    private String transitWarehouseNo;
    /**
     * 合同编号
     */

    private String IsHotYn;

    private String insureYn;

    private String requestVehicleModel;

    private String destination;
    private String departureName;
    private String destinationName;
    private String departure;
    private String settledBasedOn;
    private String shipmentTypeNo;
    private String freightOrderTypeNo;
    private String contractNo;
    private String purchaseOrderNo;
    private String receiverSite;
    private BigDecimal sumQty;
    private Double payTax;
    private String shipperName;
    private String freightSettleBasedon;

    private String freightBlancetype;

    private String freightPaymenttype;

    private String freightTransportType;
    private String inWarehouseCode;
    private Double priceWithTax;


    private Double addOnFee;
    private String site;
    /**
     * 外部合同编号
     */
    private String outsideContractNo;

    /**
     * 外部计划编号
     */
    private String outsidePlanNo;
    private String freightServiceType;
    private String departCity;
    /**
     * 备货通知书编号
     */
    private String stockNoticeNo;

    /**
     * 数量
     */
    private BigDecimal quantity;

    /**
     * 已派单粗算数量
     */
    private BigDecimal assignedQuantity;

    /**
     * 实际已分派数量
     */
    private BigDecimal distributeQuantity;

    /**
     * 已交货签收数量
     */
    private BigDecimal deliveryQuantity;

    /**
     * 货物单价
     */
    private BigDecimal orderUnitPrice;

    /**
     * 物流合同运费单价
     */
    private BigDecimal tradeTransportUnitPrice;

    /**
     * 货物名称
     */
    private String materialName;
    private String consigneePhone;
    /**
     * 物流公司名称
     */
    private String carrier;

    /**
     * 物流公司编号
     */
    private String carrierNo;

    private String company;

    /**
     * 卖方
     */
    private String vendor;

    /**
     * 卖方在系统中的编号
     */
    private String vendorNo;

    /**
     * 买方
     */
    private String buyer;

    /**
     * 买方在系统中的编号
     */
    private String buyerNo;

    /**
     * 场站编号
     */
    private String siteId;
    /**
     * 出库ID
     */
    //private String deliveryId;

    /**
     * 场站全称
     */
    private String siteFullName;

    /**
     * 附加信息
     */
    private String additionInfo;

    /**
     * 买方提货凭证
     */
    private String pickupVoucherList;

    /**
     * 交货地址
     */
    private String deliveryAddress;

    private String deliveryTerms;

    private String deliveryTermsDesc;

    private Date changeDate;

    private Date orderApplyDate;

    /**
     * 提货开始日期
     */
    private Date pickupStartDate;

    /**
     * 期待收货日期
     */
    private Date expectReceiptDate;

    private String consigneeName;

    private String paymentTermNo;

    private String destinationNo;

    /**
     * 物流计划状态
     */
    private String status;

    /**
     * 交易端备货计划状态
     */
    private String tradeOrderStatus;

    private Integer estDeliveryDays;
    private String pickUpAddress;
    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 是否被取消
     */
    private Boolean cancelled;

    private BigDecimal version;

    /**
     * 交货城市
     */
    private String deliveryCity;

    private BigDecimal sourceOrderId;

    private String customerNo;

    /**
     * 提货城市
     */
    private String pickupCity;

    /**
     * 提货地址
     */
    private String pickupAddress;

    private String supplierCompanyNo;

    /**
     * 提货联系人手机号
     */
    private String pickupContactMobile;

    private String consigneeId;

    /**
     * 交货联系人手机号
     */
    private String deliveryContactMobile;

    private String supplierName;

    private String companyName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否有效，数据字典 yn_type，1 表示是，0 表示否，默认0
     */
    private String isValid;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateDate;

}
